The leaky hole of abstraction gets smaller.
Discussions about letting AI do the programming are gaining momentum in 2025.
This is not the first time a system in which concrete, lower-order linguistic expressions are generated by higher-order linguistic expressions of a higher level of abstraction.
Compiler generates machine language description from C description
LLM generates programming language descriptions from natural language descriptions
https://gyazo.com/0d8bb71bc34d857c71a39472647f0fe2
A:
It starts out in a "generated, but useless" state.
B:
Next, "useless as generated," "but usable if reworked."
If the cost of rework is less than the cost of creating it from scratch, it makes economic sense.
Up to this point, knowledge of lower level languages is required
C:
Opinions differ on whether "useful in its generated form" comes
law of leaky abstraction
Argument that "abstraction has leaks, so it never completely eliminates the need for lower layers of knowledge."
Software engineers who disagree with the opinion that "C will be realized" as of 2025 often use this as a basis for their position
On the other hand, how many people are not satisfied with the quality of machine language generated by C compilers as of 2025?
I know it's not zero, because my colleague Mitsunari-san is using Xbyak to create the world's fastest crypto library and so on.
You'll need it in cases where you want to build the fastest thing in the world.
What percentage of people who call themselves software engineers today are in the business of creating the world's fastest implementations?
The parallel in this discussion is that Bias and Variance focuses only on bias
https://gyazo.com/b60bbde37eecadae97ec03e0824344ef
Lateral deviation is bias, spread of distribution is variance
https://gyazo.com/cd488ea841e660fcf52b201f87b1d812
The probability of getting into range R of the expected output is different for A with a large variance and B with a small variance.
As technology advances, the variance gets smaller and smaller, increasing the probability of getting into Range R.
No matter how much it increases, the probability of the overhanging E is not zero.
This is law of leaky abstraction.
When it is sufficiently high, the importance of high-level linguistic expressions that appropriately produce output in the expected range of output increases relatively more.
The probability of a human putting a bug in a C description is higher than the probability of a compiler making a mistake.
The expected return on "checking the compiler's output machine language with the suspicion that the compiler is wrong" and "checking the C description with the suspicion that the human is wrong" is higher for the latter.
If we compare "checking the source code output by the LLM with the suspicion that the LLM is wrong" and "checking the natural language description given to the LLM with the suspicion that humans are wrong", the former is still likely to have a higher return as of March 2025.
However, I think the watershed is this year, as the mechanisms of clinerules and Devin's knowledge are improving "natural language descriptions" at high speed and making them into libraries.
I think the importance of the correctness of setting the "expected output range" in the first place increases when looking at the activity as a whole.
[It is futile to make something that no one will use.
The ability to understand the needs of users in the world and set an appropriate "expected output range" will account for a higher percentage of the overall value creation process
Bottlenecks move elsewhere as they are resolved.
relevance
prev: Abstraction, speed and landing
C used to be a high-level language.
When FORTRAN was born, FORTRAN was called automatic programming
When FORTRAN was introduced, it was said that performance was better without FORTRAN
---
This page is auto-translated from /nishio/抽象化のもれる穴が小さくなる using DeepL. If you looks something interesting but the auto-translated English is not good enough to understand it, feel free to let me know at @nishio_en. I'm very happy to spread my thought to non-Japanese readers.